1. Technical Field
This invention relates generally to a flexible web (HTML) based interface for accessing workflow information stored on a workflow management system without requiring an application-specific client to be deployed to individual users.
2. Discussion of the Related Art
Workflow management systems (WFMSs) are becoming more commonplace in the work environment as business processes become increasingly complex. Businesses use workflow management software to plan and manage activities and resources involved in getting its business tasks done timely and accurately. The workflow management software also allows these businesses to track its flow of work.
Workflow management software allows businesses to automate their processes that can save an organization time and money by presenting the right activity to the right person at the right time, supported by the information and the programs to perform the activity. Workflow management software also allows an administrator of the business to define and document models of business processes. Once these models are assigned, the administrator can create “instances” of the defined process, assign staff members to the activities in the process instances, and associate applications with particular activities.
In addition to the administrative side, workflow management software also allows users/employees to start “instances” of the pre-defined processes, manage these instances, start activities scheduled by the running instances, transfer responsibility for completing certain activities from one user to another, and tracking process instances and the status of activities assigned to users/employees.
A schematic of a workflow management system, referred to with reference numeral 10, is shown in FIG. 1. The workflow management system 10 typically includes a table 12 of process templates (shown by example as records PT1, PT2 and PT3 of the process template table 12. The workflow management system 10 also typically includes a table 14 of users (shown by example as records User1, User2 and User3) of the process template table 12.
Each of the tables 12 and 14 are provided as inputs to define “work” 16 of a particular company or organization as essentially a worklist formed of several instances of processes defined in the process template table 12 as assigned to particular employees of the company defined in the users table 14. This work 16 is shown by a table 18 of initiated process instances PI1, PI2 and PI3, which, as shown in FIG. 1, are based upon various process templates as defined in the process template table 12. As shown in the example of FIG. 1, the process instances PI1, PI2 and PI3 are based on process templates PT2, PT2 and PT3, respectively.
Each of the records of the process instance table 18 includes a series of tasks to be completed by a particular user (the specific tasks of a process instance are defined in each process template in the table 12). The work 16 of the company can thereby be assessed by examining a particular process instance. In FIG. 1, a table 20 shows the particular tasks Task1, Task2 and Task3 of process instance PI3 that are, by example, happen to be assigned to users User1, User1 and User3, respectively.
By filtering or querying the process instance table 18 and the sub-records thereof (one of which is shown by example by process instance PI3 table 20), a user can obtain his/her worklist of tasks (of any process instance) assigned to him/her. Table 22 shows this filtered worklist for User1 who has Task1 and Task2 assigned thereto from process instance PI3. Other worklists for other users (such as for User2 shown by table 24) can be obtained simply by querying the WFMS tables 18 and 20 with different criteria.
One example of workflow management software is the MQSeries WorkFlow application available from IBM, which integrates tasks performed, by computer applications with the everyday tasks of staff members. Other examples of suitable workflow management software applications include jFlow available from Workflow Automation Corporation, and Verve available from Verve, Inc.
In the past, workflow management software packages were typically defined to run within a self-contained local area network. A problem with such workflow servers is that processes defined for one workflow server product cannot be run on a different workflow server or client without a specialized application program interface (API) designed especially for the particular WFMS. The API, specialized client software, must be installed on each of the machines on a local-area network—making it difficult to manage workflow over wide-area networks.
Further, even if a common access client (such as a web browser) was employed, web-based browsers cannot employ the full functionality of the workflow management system, such as employing an access tool such as an ActiveX control for the API of the workflow management software) since the code for the API is “closed source.”
Web-based interfaces for WFMS have proven difficult to adapt to specific company processes—and typically require extensive programming (such as using proprietary HTML extensions in user-defined input pages specifically designed for a particular WFMS package). The time and cost investment required to design and implement such a package often is too much for a company to absorb.
Prior art web interfaces for WFMS are also not easily customizable due to the large amount of programming needed to adapt a particular web-based interface for a particular workflow management system. Also, programmers would be required to know about coding-specific issues to interact with a particular workflow management software package. Further, even if a company were successful in designing a particular web-based interface for a workflow management system, it would be extremely difficult to adapt the web-based interface if the company were to change workflow management platforms since the commands needed to access the functionality of the web-based interface are embedded in the custom-designed web pages.
There is therefore a need to provide a system and method for accessing a workflow management system via a common interface, such as a web browser, that minimizes or eliminates one or more of the shortcomings described above.